Navigation Application with Novel Declutter Mode

ABSTRACT

Some embodiments provide a navigation application with a novel declutter navigation mode. In some embodiments, the navigation application has a declutter control that when selected, directs the navigation application to simplify a navigation presentation by removing or de-emphasizing non-essential items that are displayed in the navigation presentation. In some embodiments, the declutter control is a mode-selecting control that allows the navigation presentation to toggle between normal first navigation presentation and a simplified second navigation presentation, which below is also referred to as a decluttered navigation presentation. During normal mode operation, the navigation presentation of some embodiments provides (1) a representation of the navigated route, (2) representations of the roads along the navigated route, (3) representation of major and minor roads that intersect or are near the navigated route, and (4) representations of buildings and other objects in the navigated scene. However, in the declutter mode, the navigation presentation of some embodiments provides a representation of the navigated route, while providing a de-emphasized presentation of the roads that intersect the navigated route or are near the navigated route. In some embodiments, the presentation shows the major roads that are not on the route with more emphasis than minor roads not on the route. Also, in some embodiments, the presentation fades out the minor roads not on the route more quickly than fading out the major roads not on the route.

INCORPORATION BY REFERENCE; DISCLAIMER

Each of the following applications are hereby incorporated by reference:application Ser. No. 15/093,738 filed on Apr. 8, 2016; application No.62/235,519 filed on Sep. 30, 2015. The Applicant hereby rescinds anydisclaimer of claim scope in the parent application(s) or theprosecution history thereof and advises the USPTO that the claims inthis application may be broader than any claim in the parentapplication(s).

BACKGROUND

With proliferation of mobile devices such as smartphones, users areenjoying numerous applications of numerous kinds that can run on theirdevices. One popular type of such applications are mapping andnavigation applications that allow users to browse maps and get routedirections. Despite their popularity, these mapping and navigationapplications have shortcomings with their features that causeinconvenience to the users.

BRIEF SUMMARY

Some embodiments provide a navigation application with a novel declutternavigation mode. In some embodiments, the navigation application has adeclutter control that when selected, directs the navigation applicationto simplify a navigation presentation by removing or de-emphasizingnon-essential items that are displayed in the navigation presentation.In some embodiments, the declutter control is a mode-selecting controlthat allows the navigation presentation to toggle between normal firstnavigation presentation and a simplified second navigation presentation,which below is also referred to as a decluttered navigationpresentation. In some embodiments, both the first and second navigationpresentations are two-dimensional (2D) presentations. Also, in someembodiments, both the first and second navigation presentations arethree-dimensional (3D) presentations. In still other embodiments, bothpresentations can change freely between 2D and 3D views of the navigatedscene.

During normal mode operation, the navigation presentation of someembodiments provides (1) a representation of the navigated route, (2)representations of the roads along the navigated route, (3)representation of major and minor roads that intersect or are near thenavigated route, and (4) representations of buildings and other objectsin the navigated scene. However, in the declutter mode, the navigationpresentation in some embodiments provides a representation of thenavigated route, while providing a de-emphasized presentation of theroads that intersect the navigated route or are near the navigatedroute. In some embodiments, the presentation shows the major roads thatare not on the route with more emphasis than minor roads not on theroute. Also, in some embodiments, the presentation fades out the minorroads not on the route more quickly than fading out the major roads noton the route.

Given that the presentation de-emphasizes roads not on the route, thepresentation in some embodiment represents the navigated route by simplydisplaying the roads on the navigated route with more emphasis (e.g., bydisplaying the roads traversed by the navigated route in brighter,bolder or different colors). In other words, in these embodiments, thepresentation does not provide a separate representation of the navigatedroute, as such a representation is not necessary in view of theemphasized presentation of the roads on the navigated route and thede-emphasized presentation of the roads that are not on the navigatedroute. Since a representation is not provided for the navigated route,the navigation presentation in some embodiments uses colors and/or drawsarrows on the roads traversed by the navigated route to identifyupcoming maneuvers on the navigated route.

In some embodiments, the decluttered navigation presentation includesfewer superfluous objects in the navigated scene. However, in some ofthese embodiments, the decluttered presentation still displayssignificant landmarks (e.g., points of interests, such as buildings, gasstations, geographic landmarks (hills, etc.)). In fact, in someembodiments, the decluttered presentation provides maneuver instructionsin terms of upcoming landmarks (e.g., “turn left at the Shell station”).In some embodiments, the landmarks are identified in an automated mannerby analyzing POI designations in the map data, and analyzing buildingfootprint data to identify the size of the buildings. Also, in someembodiments, the navigation presentation has a night-time declutteredmode that presents night-time views of the buildings in the navigatedroute.

The preceding Summary is intended to serve as a brief introduction tosome embodiments of the invention. It is not meant to be an introductionor overview of all-inventive subject matter disclosed in this document.The Detailed Description that follows and the Drawings that are referredto in the Detailed Description will further describe the embodimentsdescribed in the Summary as well as other embodiments. Accordingly, tounderstand all the embodiments described by this document, a full reviewof the Summary, Detailed Description and the Drawings is needed.Moreover, the claimed subject matters are not to be limited by theillustrative details in the Summary, Detailed Description and theDrawings, but rather are to be defined by the appended claims, becausethe claimed subject matters can be embodied in other specific formswithout departing from the spirit of the subject matters.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 illustrates an example of the two different type navigationpresentations that the navigation application of some embodiments canprovide during these two modes.

FIG. 2 illustrates an example of a navigation application user interface(UI) that includes such a declutter control.

FIG. 3 illustrates an example of highlighting traffic conditions inplace of providing route representation in a navigation presentation.

FIG. 4 illustrates another example of a decluttered navigationpresentation.

FIG. 5 illustrates an example that show that by showing fewersuperfluous objects in the navigated scene, a decluttered presentationcan display more significant items.

FIG. 6 illustrates that in some embodiments, the navigation presentationhas a night-time decluttered mode that presents night-time views of thebuildings in the navigated route, in order to highlight these buildingssome more.

FIG. 7 illustrates that some embodiments highlight building numbers inthe decluttered navigation presentation as this presentation displaysfewer unnecessary constructs.

FIG. 8 illustrates a process that a navigation application of someembodiments performs to provide a decluttered navigation presentation.

FIG. 9 is an example of an architecture of such a mobile computingdevice.

FIG. 10 conceptually illustrates another example of an electronic systemwith which some embodiments of the invention are implemented.

DETAILED DESCRIPTION

In the following detailed description of the invention, numerousdetails, examples, and embodiments of the invention are set forth anddescribed. However, it will be clear and apparent to one skilled in theart that the invention is not limited to the embodiments set forth andthat the invention may be practiced without some of the specific detailsand examples discussed.

Some embodiments provide a navigation application with two differentnavigation modes, a regular navigation mode and a declutter navigationmode, that provide two different navigation presentations for providingnavigation instructions to a particular destination. FIG. 1 illustratesan example of the two different type navigation presentations 105 and110 that the navigation application of some embodiments can provideduring these two modes. Both of these presentations display the samesection of a navigated route to a destination as rendered from the sameperspective in the rendered 3D map scene (e.g., as rendered from thesame position, in a 3D map coordinate system, of a virtual camera thatis used to define the rendered 3D map scene).

The first navigation presentation 105 is a typical 3D navigationpresentation that includes (1) a representation 120 of the navigatedroute, (2) a representation 126 of the navigated device, (3)representations of the roads traversed by the navigated route, (4)representation of major and minor roads that intersect or are near thenavigated route (i.e., that intersect or are near the roads traversed bythe navigated route), (5) representations of buildings 122 and otherobjects in the navigated scene, and (6) navigation banners 124 thatprovide navigation instructions. The second decluttered navigationpresentation 110 is a simplified navigation presentation that includesfar less object representations. In the example illustrated in FIG. 1,like the first navigation presentation 105, the simplified secondpresentation 110 includes (1) a representation 120 of the navigatedroute, (2) a representation 126 of the navigated device, and (3)navigation banners 124 with navigation instructions.

However, in this example, the second navigation presentation 110de-emphasizes the roads that intersect the navigated route or are nearthe navigated route. In some embodiments, the decluttered presentation110 shows the major roads that are not on the route with more emphasisthan minor roads not on the route. Also, in some embodiments, thedecluttered presentation 110 fades out the minor roads not on the routemore quickly than fading out the major roads not on the route. While theexample of FIG. 1 illustrates detailed and decluttered 3D navigationpresentations, one of ordinary skill will realize that in someembodiments the navigation application can provide conjunctively oralternatively 2D navigation presentations (top-down navigationpresentations) that can be either detailed 2D navigation presentationsor decluttered 2D navigations presentations.

Given that the presentation de-emphasizes roads not on the route, thesimplified navigation presentation in some embodiment represents thenavigated route by simply displaying the roads on the navigated routewith more emphasis (e.g., by displaying the roads traversed by thenavigated route in brighter, bolder or different colors) In other words,in these embodiments, the presentation does not provide a separaterepresentation of the navigated route, as such a representation is notnecessary in view of the emphasized presentation of the roads on thenavigated route and the de-emphasized presentation of the roads that arenot on the navigated route. Since a representation is not provided forthe navigated route, the navigation presentation in some embodimentsuses colors and/or draws arrows on the roads traversed by the navigatedroute to identify upcoming maneuvers on the navigated route. Theseembodiments will be further described below.

In some embodiments, the decluttered navigation presentation includesfewer superfluous objects in the navigated scene. However, in some ofthese embodiments, the decluttered presentation still displayssignificant landmarks (e.g., points of interests, such as buildings, gasstations, geographic landmarks (hills, etc.)). In fact, in someembodiments, the decluttered presentation provides maneuver instructionsin terms of upcoming landmarks (e.g., “turn left at the Shell station”).In some embodiments, the landmarks are identified in an automated mannerby analyzing POI designations in the map data, and analyzing buildingfootprint data to identify the size of the buildings. Also, in someembodiments, the navigation presentation has a night-time declutteredmode that presents night-time views of the buildings in the navigatedroute. These embodiments will be further described below.

In the example illustrated in FIG. 1, both the first and secondnavigation presentations are three dimensional (3D) presentations. Inother cases, both the first and second navigation presentations are twodimensional (2D) presentations. Also, in still other embodiments, bothpresentations can change freely between 2D and 3D views of the navigatedscene.

In some embodiments, the navigation application has a declutter controlthat when selected, directs the navigation application to simplify anavigation presentation by removing or de-emphasizing non-essentialitems that are displayed in the navigation presentation. In someembodiments, the declutter control is a mode-selecting control thatallows the navigation presentation to toggle between normal navigationpresentation and declutter navigation presentation. FIG. 2 illustratesan example of a navigation application user interface (UI) 200 thatincludes such a declutter control. This example is illustrated in termsof four operational stages of the UI 200. In this example, thenavigation application executes on a mobile device with atouch-sensitive display screen.

In the first stage 202, the UI provides a first 3D navigationpresentation during a first navigation mode. This is a traditionalnavigation presentation that provides (1) a representation of thenavigated route, (2) representations of the roads along the navigatedroute, (3) representation of major and minor roads that intersect or arenear the navigated route, (4) representations of buildings and otherobjects in the navigated scene, and (5) navigation banners to providenavigation instructions. The first stage 202 also shows the userselecting the navigation presentation by touching the display screen ofthe mobile device where it displays this presentation.

The second stage 204 shows the UI displaying several UI controlsrelating to the navigation presentation. The navigation applicationpresents this additional UI controls in response to the user's selectionof the navigation presentation. One of these controls is a 3D control240 that the user can select to toggle between a 2D navigated map viewand a 3D navigated map view. In some embodiments, the user can togglebetween these two views in either the traditional navigationpresentation mode or the decluttered navigation presentation mode. Thesecond stage 204 shows the 3D control 240 highlighted in order to conveythat the current navigation presentation is being displayed with a 3Dmap view.

Another control that is presented in the second stage is the decluttercontrol 250. The third stage 206 shows the user selecting the decluttercontrol 250. In response, the navigation application presents thedecluttered navigation presentation 275, which is illustrated in thefourth stage 208. As in the example illustrated in FIG. 1, thede-cluttered navigation presentation 275 displays navigation bannerswith navigation instructions and emphasized representations of thenavigated roads, while not displaying buildings in the displayednavigation scene and de-emphasizing the representations of the roadsthat intersect the navigated route or are near the navigated route. Insome embodiments, the navigation application emphasizes therepresentations of the navigated roads during the de-clutterednavigation presentation by using different colors, brighter lines (e.g.,more color saturated lines) and/or thicker lines to represent theseroads, while using other colors, dimmer lines (e.g., less colorsaturated lines) and/or thinner lines to represent the roads thatintersect the navigated route or are near the navigated route. In someembodiments, the presentation shows the major roads that are not on theroute with more emphasis than minor roads not on the route. Also, insome embodiments, the presentation fades out the minor roads not on theroute more quickly than fading out the major roads not on the route.

Unlike the example illustrated in FIG. 1, the de-cluttered navigationpresentation 275 does not provide a separate representation 120 of thenavigated route, as such a representation is not necessary in view ofthe emphasized representation of the roads on the navigated route andthe de-emphasized representation of the roads that are not on thenavigated route. In other words, this presentation 275 represents thenavigated route by simply displaying the roads on the navigated routewith more emphasis because this presentation de-emphasizes roads not onthe route. The fourth stage 208 also displays the 3D control 240 ashighlighted to signify that the decluttered presentation is a 3Dpresentation. Selection of this control would direct the navigationapplication to display a 2D view of the decluttered navigationpresentation.

When a representation is not provided for the navigated route in thedecluttered navigation mode, the navigation presentation in someembodiments uses colors and/or draws objects (e.g., arrows, icons, etc.)on the roads traversed by the navigated route to identify upcomingmaneuvers on the navigated route and to highlight traffic conditionsalong the navigated route. FIG. 3 illustrates an example of highlightingtraffic conditions in place of providing route representation in anavigation presentation. This example is illustrated in four operationalstages 302-308. The first stage 302 shows a traditional 3D navigationpresentation showing a representation 322 of the device navigating alonga represented route 324. This stage also shows the user selecting thedeclutter control 250.

The second stage 304 shows that the application displays a declutterednavigation presentation 375 in response to this selection. Thisdecluttered presentation 375 is like the decluttered navigationpresentation 275 in that it does not display the representation 324 ofthe navigated route nor does it display representations of buildings inthe displayed navigation scene. Instead, the decluttered presentation375 has a more pronounced representation of the roads 326 traversed bythe navigated route, while (1) not providing representations of theroads that neither are on the navigated route nor do they intersect aroad traversed by the navigated route and (2) providing less pronouncedrepresentations of the roads that intersect the roads traversed by thenavigated route. In some embodiments, the roads on the navigated routecan be drawn with stronger colors, more saturated colors, bolder lines,thicker lines, or highlighted, in order to differentiate them from otherroads that are drawn in the decluttered navigation presentation.

The third stage 306 shows that in place of the navigated-routerepresentation, the decluttered navigation presentation displays trafficindication markers 342 along the road 326 traversed by the navigatedroute, in order to highlight traffic congestion along the route. In thisexample, the traffic congestion markers are displayed as dashed linesegments. Other embodiments use other representations, such as solidlines, etc. The fourth stage 308 illustrates that the traffic indicationmarkers can also be shown on roads farther ahead on the navigated route,in order to highlight traffic farther ahead. In this example, theupcoming road with traffic is a road on which the user has to make aturn. Also, in this stage, traffic conditions are displayed on bothtravel directions on the upcoming road. By providing this trafficinformation during the navigation presentation in such a clear format,the decluttered navigation presentation allows the user to easily viewsuch conditions, and if need be, to change the navigated route to avoidtraffic congestion.

In the example of FIG. 3, the traffic condition that is illustrated istraffic congestion. Some embodiments use the extra space that is createdby removing the navigated-route representation to display other trafficcongestion indicators on the road or adjacent to the roadrepresentation. Examples of such indicators include indicators forobjects on the road, construction on the road, accidents along the road,etc.

The navigation application of some embodiments has a style-sheet drivenrendering engine that generates navigation presentations based on one ormore style sheets. In some of these embodiments, the rendering engineuses one set of style sheets to generate the regular navigationpresentation in either the 2D or 3D views, while using another set ofstyle sheets to generate the decluttered navigation presentation.

FIG. 4 illustrates another example of a decluttered navigationpresentation. This example is illustrated in terms of four operationalstages 402-408. This example shows the navigation applicationdynamically modifying how it generates the decluttered navigationpresentation based on the current navigation context. In this example,the navigation presentation displays a representation 422 of the devicenavigating along a freeway. The first stage 402 shows a traditional 2Dnavigation presentation 472 that shows the device navigating along thefreeway. In this presentation, many roads and structures that are nearthe route are displayed to give the viewer some context regarding wherehe is driving. However, such context is often unnecessary when theviewer is driving on a freeway for a long stretch because the viewerwill not be getting off the freeway and hence does not need to situatehimself with the surroundings.

The first stage 402 shows the user selecting the declutter control 250.The second stage 404 then shows that in response to this selection, thenavigation application provides a decluttered navigation presentation475. In this presentation, many of the roads surrounding the navigatedfreeway have been removed. In this presentation, even the routerepresentation 418 (that was displayed in the first stage 402) has beenremoved in favor of an arrow 480. Some embodiments would not evenprovide this arrow, but instead would draw the navigated freeway with aparticular color or highlight (or otherwise differentiate the appearanceof the navigated freeway) in order to make the navigated freeway morenoticeable than other roads that are not on the navigated route in thenavigated presentation.

In the second stage 404, all the roads and structures near the navigatedfreeway have also been removed as they are not major roads orstructures. However, the third stage 406 shows that once the devicereaches the intersection with another major freeway 476, the declutterednavigation presentation provides a representation of this intersection.Since the other freeway intersection is a bridge and the other freewayis a major structure, not providing a representation for this freewaymight be too disconcerting or distracting even in the declutterednavigation presentation.

The fourth stage 408 illustrates that as the device reaches itsdestination and has to get off the freeway, the decluttered navigationpresentation provides representations 478 and 480 of the roads andstructures near the freeway exit. These representations 478 and 480provide the user with needed context for performing maneuvers along thenavigated route. In some embodiments, the decluttered navigationpresentation starts to provide representations for nearby roads andstructures several exits before the device reaches the desired exit, inorder to highlight the need for the upcoming maneuver and to get theviewer better acclimated with his or her surroundings.

By showing fewer superfluous objects in the navigated scene, thedecluttered presentation can displays more significant items and canprovide directions by reference to significant landmarks, which can nowbe provided more prominently in the navigation presentation. FIG. 5illustrates an example of such an approach. This approach is illustratedin terms of three operational stages 502-506. The first two stages 502and 504 show the navigation application switching form a normal 3Dnavigation presentation 575 to a decluttered 3D navigation presentation577.

In the decluttered navigation presentation 577, the navigationapplication removes the representation of the navigated route 570, andin its places inserts an arrow at the juncture for an upcoming maneuveralong the route. Also, while removing superfluous buildings 520 that aredisplayed in the navigated presentation 575 of the first stage 502, thedecluttered navigation presentation 577 provides a more pronouncedrepresentation of the building 525, because this building is at themaneuver juncture. Also, as shown in the second and third stages 504 and506, the decluttered presentation 577 provides navigation instructionswith respect to this building in its navigation banner and in its voiceinstruction prompt.

When multiple buildings are at such a juncture and these buildings havethe same characteristics, the decluttered presentation in someembodiments highlights the building that has a particular positionalrelationship with the maneuver, e.g., for a right turn, it is thebuilding on the right at the juncture, or for a left turn, it is thebuilding on the left at the juncture. In some embodiments, thedecluttered presentation highlights buildings that are designated in themap data as landmark buildings instead of, or more preferentially, thanother buildings. In this example, the building 525 is a landmarkbuilding. In some embodiments, the landmarks are identified in anautomated manner by analyzing POI designations in the map data, andanalyzing building footprint data to identify the size of the buildings.

FIG. 6 illustrates that in some embodiments, the navigation presentationhas a night-time decluttered mode that presents night-time views of thebuildings in the navigated route, in order to highlight these buildingssome more. This example is similar to the example of FIG. 5 except thatin FIG. 6, the decluttered presentation 677 displays a night modenavigation presentation. In this presentation, the building 525 isdisplayed again while the other buildings are removed. In this mode, therepresentation of building 525 in some embodiments matches how thisbuilding would look at night. This representation is derived from datacaptured by vehicles that drive around to record how roads and buildingslook like from a ground point of view at night.

FIG. 7 illustrates that some embodiments highlight building numbers inthe decluttered navigation presentation as this presentation displaysfewer unnecessary constructs. This example is illustrated in four stages702-708. The first three stages 702-706 illustrate the building blocknumbers 752, 754, and 756 displayed on the navigated road'srepresentation as the device nears its destination. When the user isnavigating to a particular address, it is very useful to see thebuilding block numbers count towards the destination's address number.This countdown provides the user with the needed context to figure outhow far the user is from the destination.

In the example illustrated in FIG. 7, the building numbers are drawn onthe navigated road representation. In other embodiments, these buildingnumbers are drawn in different locations and/or drawn differently in thenavigated scene. For instance, in some embodiments, the building numbersmight be drawn next to the road. In some embodiments, the buildingnumbers might not lie flat on or next to the navigated road, but mayappear vertically next to the road. In some embodiments, the navigationapplication only provides the building number count when the device getscloser to the destination. In other words, once the device is within athreshold distance of the destination, or is on the street of thedestination location, the application in some embodiments turns on itsbuilding number count

The fourth stage 708 also illustrates that in some embodiments thenavigation application combines the building number count with ananimation that switches from the 3D view to a top-down 2D view, as thedevice gets close to the destination. The 2D top-down view highlightsthe location 762 of the device and the location 764 of the destinationso that the user can quickly determine that he has reached thedestination and his position compared to this destination. Otherembodiments do not switch to this top-down animation while providing abuilding number count. Yet other embodiments use the top-down animationbut do not provide the building number count.

Also, some embodiments provide the above-described navigation featuresin regular navigation presentations. For instance, in some embodiments,the navigation application provides these features even when it does notprovide a decluttered navigation presentation. Examples of thesefeatures would be the building number count feature, thelandmark-direction feature, the night-mode building representations,etc.

FIG. 8 illustrates a process 800 that a navigation application of someembodiments performs to provide a decluttered navigation presentation.In some embodiments, this navigation application executes on a mobiledevice (e.g., smartphone or tablet), while in other embodiments, thisapplication executes on an electronic system of vehicle (e.g., anautomobile). As further described below, the navigation application is astyle-sheet driven application that generates different types ofnavigation presentations based on different sets of style sheets, e.g.,generates a traditional, first navigation presentation based on a firstset of style sheets, while generating a declutteed, second navigationpresentation based on a second set of style sheets.

The process initially identifies (at 805) the location of the device(e.g., mobile device, vehicle electronic system, etc.) on which thenavigation application executes. In some embodiments, the processidentifies this location by using a set of one or morelocation-identification processes that execute on the device. Examplesof such processes include location identification processes that use GPS(global position system) transceivers and/or WiFi transceivers of thedevice, in order to obtain location data that the locationidentification processes use to identify the location of the device.

At 805, the process 800 obtains map data for a region that is near andincludes (e.g., surrounds) the location identified at 805, if theprocess has not previously obtains such map data. This map data isobtained to rendered either a detailed or decluttered navigation scenethat is based on the location identified at 805. In some embodiments,this navigation scene is a 3D perspective view of the map that isrendered from a particular position of a virtual camera. In someembodiments, the camera's position is dependent on the identifiedlocation, as the camera tracks the position of the device (e.g., keepsthe device's position at a particular location in the scene) as thedevice traverses along the navigated route.

In some embodiments, the navigation application is a tile-basedapplication that downloads map data that is organized into differenttiles for different regions and/or different zoom levels. Accordingly,in these embodiments, the process determines (at 805) whether it needsto download the tile data for the region that contains the identifiedregion, and if so, downloads one or more map tiles for this region froma set of one or more map servers In some of these embodiments, thenavigation application communicates with the map server set through awireless communication network (e.g., mobile data network, such a 4G or5G network). When the process determines (at 805) that it has previouslyobtained the map data for the region containing the identified location,it does not re-download this data from the map server set.

Next, from the obtained map data, the process identifies (at 810) thegeometry data of the roads that are candidates for rendering based onthe location identified at 805. During the navigation presentation, theprocess 800 iterates through 805-845 multiple times. When the device'slocation has not changed since the process's last iteration through 810,the process does not need to re-identify the road geometry data, as theroad geometry data identified in the last iteration through 810 is stillvalid. Even when the device's location has changed since the lastiteration, the process might not need to re-identify the road geometrydata when in the prior iterations the process identified more roadgeometry data than it needed for the navigated scene.

The road geometry data identified at 810 defines the road geometriesthat are candidates for displaying in the navigation presentation.However, not all of the identified road geometries will be rendered inthe navigation presentation. As further described below, the process 800in some embodiments renders the road geometries for display based on therending rules that are defined in the style sheet that the process usesto generate the navigation presentation.

After 810, the process identifies (at 815) traffic data about theidentified location. In some embodiments, this traffic data includestraffic congestion data, road condition data (e.g., weather data, roadconstruction data), accident data, etc. In some embodiments, thenavigation application communicates with a set of one or more trafficservers through a wireless communication network (e.g., mobile datanetwork, such a 4G or 5G network) to obtain traffic data. The trafficserver set in some embodiments is the same as the map server set thatprovides the tile data, while in other embodiments it is a different setof servers.

When the device's location has not changed since the process' lastiteration through 815, the process does not always obtain new trafficdata, as the traffic data identified in the last iteration through 815might still be valid. However, when the device's location data does notchange for a particular duration of time, the process in someembodiments obtains new traffic data as the traffic data might havechanged.

The navigation application of some embodiments displays trafficconditions by rendering traffic-related objects (e.g., trafficcongestion lines, traffic accident icons, etc.) like other map geometryobjects that it renders in the navigated scene of the navigationpresentation. Accordingly, based on the identified traffic data, theprocess defines (at 815) traffic-related objects that are candidateobjects to render for the location identified at 805. However, not allof the identified traffic geometries will be rendered in the navigationpresentation. As further described below, the process 800 in someembodiments renders the traffic geometries for display based on therending rules that are defined in the style sheet that the process usesto generate the navigation presentation.

Next, at 820, the process determines whether the user has requested adecluttered navigation presentation. In some embodiments, the defaultnavigation presentation mode is the traditional detailed navigationpresentation mode, and the user has to select the decluttered navigationpresentation mode (e.g., through selecting the declutted navigationcontrol 250). In other embodiments, the decluttered navigationpresentation is the default mode, and the user has to selected thetraditional, detailed navigation presentation. The user can switchbetween the traditional, detailed navigation presentation and thedecluttered navigation presentation (e.g., by toggling the declutternavigation control 250), and the process will effectuate this switch at820 in some embodiments.

When the process determines (at 820) that it should generate atraditional, detailed navigation presentation, it transitions to 825,where it generates a detailed navigation scene by using a first set ofstyle sheets. In some embodiments, this set of style sheets has severalrules that define how the process should render (1) the roads traversedby the navigated route, (2) the roads intersecting the roads traversedby the navigated route, (3) the roads near the navigated route but notinterected by the navigated route, (4) buildings and other natural orman-built objects near the navigated route, (5) the navigated route, (6)the object (e.g., puck) representing the navigating objet, etc, and (7)navigation banners. These rules of the first set of style sheets notonly specify how these objects should be rendered, but also specifywhich of the nearby objects (e.g., which of the nearby roads and/orbuildings) should be rendered. After 825, the process transitions to845, which will be described below.

When the process determines (at 820) that it should not generate atraditional, detailed navigation presentation, the process performsoperations 830-840 to generate a decluttered navigation presentation ofthe navigation scene. In some embodiments, this navigation scene is thesame navigation scene for which the traditional, detailed navigationscene would be generated at 825 (e.g., it is for the same perspective 3Dview of the map based on the same virtual camera position), but thescene in the decluttered presentation includes fewer rendered objectsthan it does in the traditional, detailed presentation.

At 830, the process identities in the identified map data the geometriesof all landmarks that are candidates for rendering in the navigatedscene (i.e., in the map region containing the identified location).Next, at 832, the process identifies a context for rendering thenavigated scene. In some embodiments, the process identifies thiscontext by comparing the current identified location with the locationof the next maneuever in the navigated route. This is because theprocess does not render nearby objects (e.g., nearby non-intersectingroads, nearby landmarks that are not at or near a maneuver in thenavigated route, etc.) that are not pertinent to a navigation maneuverduring the declutter navigation presentation of some embodiments. Thisapproach allows the process to forego rendering roads near a navigatedfreeway route until the device reaches a nearby exist, as describedabove by reference to FIG. 4. It also allows the process to foregolandmarks near a navigated route unless the landmark is near a maneuverjuncture along the navigated route, as described above by reference toFIGS. 5 and 6.

At 835, the process filters (i.e., discards) the identified candidategeometries (e.g., geometries for roads, landmarks, traffic, etc.) thatit should not render in the navigated scene based on the derivedrendering context (identified at 832) and the rendering rules that arecontained in a second set of style sheets that the process uses forgenerating the decluttered navigation presentation. Next, at 840, theprocess renders a decluttered navigated scene based on the candidategeometries that remain after the filtering (i.e., based on theidentified candidate geometries (e.g., geometries for roads, landmarks,traffic, etc.) that were not discarded at 835. The process generates (at840) the decluttered navigation scene by using the second set of stylesheets. In some embodiments, this set of style sheets has several rulesthat define how the process should render (1) the roads traversed by thenavigated route, (2) the roads intersecting the roads traversed by thenavigated route, (3) buildings and other natural or man-built objectsnear the navigated route, (4) the object (e.g., puck) representing thenavigating objet, etc., and (5) navigation banners. These rules of thesecond set of style sheets not only specify how these objects should berender, but also specify which of the nearby objects (e.g., which of thenearby landmarks) should be rendered. After 840, the process transitionsto 845.

At 845, the process determines whether it should terminate thenavigation presentation. The process terminates the navigationpresentation when the device reaches it destination. It also terminatesthe navigation presentation when the user directs it to terminate thepresentation. When the process determines (at 845) that it shouldterminate the presentation, it ends. Otherwise, it returns to 805, inorder to repeat its operations to continue the navigation presentation.

Many of the above-described features and applications are implemented assoftware processes that are specified as a set of instructions recordedon a computer readable storage medium (also referred to as computerreadable medium). When these instructions are executed by one or morecomputational or processing unit(s) (e.g., one or more processors, coresof processors, or other processing units), they cause the processingunit(s) to perform the actions indicated in the instructions. Examplesof computer readable media include, but are not limited to, CD-ROMs,flash drives, random access memory (RAM) chips, hard drives, erasableprogrammable read-only memories (EPROMs), electrically erasableprogrammable read-only memories (EEPROMs), etc. The computer readablemedia does not include carrier waves and electronic signals passingwirelessly or over wired connections.

In this specification, the term “software” is meant to include firmwareresiding in read-only memory or applications stored in magnetic storagewhich can be read into memory for processing by a processor. Also, insome embodiments, multiple software inventions can be implemented assub-parts of a larger program while remaining distinct softwareinventions. In some embodiments, multiple software inventions can alsobe implemented as separate programs. Finally, any combination ofseparate programs that together implement a software invention describedhere is within the scope of the invention. In some embodiments, thesoftware programs, when installed to operate on one or more electronicsystems, define one or more specific machine implementations thatexecute and perform the operations of the software programs.

The applications of some embodiments operate on mobile devices, such assmart phones (e.g., iPhones®) and tablets (e.g., iPads®). FIG. 9 is anexample of an architecture 900 of such a mobile computing device.Examples of mobile computing devices include smartphones, tablets,laptops, etc. As shown, the mobile computing device 900 includes one ormore processing units 905, a memory interface 910 and a peripheralsinterface 915.

The peripherals interface 915 is coupled to various sensors andsubsystems, including a camera subsystem 920, a wireless communicationsubsystem(s) 925, an audio subsystem 930, an I/O subsystem 935, etc. Theperipherals interface 915 enables communication between the processingunits 905 and various peripherals. For example, an orientation sensor945 (e.g., a gyroscope) and an acceleration sensor 950 (e.g., anaccelerometer) is coupled to the peripherals interface 915 to facilitateorientation and acceleration functions.

The camera subsystem 920 is coupled to one or more optical sensors 940(e.g., a charged coupled device (CCD) optical sensor, a complementarymetal-oxide-semiconductor (CMOS) optical sensor, etc.). The camerasubsystem 920 coupled with the optical sensors 940 facilitates camerafunctions, such as image and/or video data capturing. The wirelesscommunication subsystem 925 serves to facilitate communicationfunctions. In some embodiments, the wireless communication subsystem 925includes radio frequency receivers and transmitters, and opticalreceivers and transmitters (not shown in FIG. 9). These receivers andtransmitters of some embodiments are implemented to operate over one ormore communication networks such as a GSM network, a Wi-Fi network, aBluetooth network, etc. The audio subsystem 930 is coupled to a speakerto output audio (e.g., to output voice navigation instructions).Additionally, the audio subsystem 930 is coupled to a microphone tofacilitate voice-enabled functions, such as voice recognition (e.g., forsearching), digital recording, etc.

The I/O subsystem 935 involves the transfer between input/outputperipheral devices, such as a display, a touch screen, etc., and thedata bus of the processing units 905 through the peripherals interface915. The I/O subsystem 935 includes a touch-screen controller 955 andother input controllers 960 to facilitate the transfer betweeninput/output peripheral devices and the data bus of the processing units905. As shown, the touch-screen controller 955 is coupled to a touchscreen 965. The touch-screen controller 955 detects contact and movementon the touch screen 965 using any of multiple touch sensitivitytechnologies. The other input controllers 960 are coupled to otherinput/control devices, such as one or more buttons. Some embodimentsinclude a near-touch sensitive screen and a corresponding controllerthat can detect near-touch interactions instead of or in addition totouch interactions. Also, the input controller of some embodimentsallows input through a stylus.

The memory interface 910 is coupled to memory 970. In some embodiments,the memory 970 includes volatile memory (e.g., high-speed random accessmemory), non-volatile memory (e.g., flash memory), a combination ofvolatile and non-volatile memory, and/or any other type of memory. Asillustrated in FIG. 9, the memory 970 stores an operating system (OS)972. The OS 972 includes instructions for handling basic system servicesand for performing hardware dependent tasks.

The memory 970 also includes communication instructions 974 tofacilitate communicating with one or more additional devices; graphicaluser interface instructions 976 to facilitate graphic user interfaceprocessing; image processing instructions 978 to facilitateimage-related processing and functions; input processing instructions980 to facilitate input-related (e.g., touch input) processes andfunctions; audio processing instructions 982 to facilitate audio-relatedprocesses and functions; and camera instructions 984 to facilitatecamera-related processes and functions. The instructions described aboveare merely exemplary and the memory 970 includes additional and/or otherinstructions in some embodiments. For instance, the memory for asmartphone may include phone instructions to facilitate phone-relatedprocesses and functions. The above-identified instructions need not beimplemented as separate software programs or modules. Various functionsof the mobile computing device can be implemented in hardware and/or insoftware, including in one or more signal processing and/or applicationspecific integrated circuits.

While the components illustrated in FIG. 9 are shown as separatecomponents, one of ordinary skill in the art will recognize that two ormore components may be integrated into one or more integrated circuits.In addition, two or more components may be coupled together by one ormore communication buses or signal lines. Also, while many of thefunctions have been described as being performed by one component, oneof ordinary skill in the art will realize that the functions describedwith respect to FIG. 9 may be split into two or more integratedcircuits.

FIG. 10 conceptually illustrates another example of an electronic system1000 with which some embodiments of the invention are implemented. Theelectronic system 1000 may be a computer (e.g., a desktop computer,personal computer, tablet computer, etc.), phone, PDA, or any other sortof electronic or computing device. Such an electronic system includesvarious types of computer readable media and interfaces for variousother types of computer readable media. Electronic system 1000 includesa bus 1005, processing unit(s) 1010, a graphics processing unit (GPU)1015, a system memory 1020, a network 1025, a read-only memory 1030, apermanent storage device 1035, input devices 1040, and output devices1045.

The bus 1005 collectively represents all system, peripheral, and chipsetbuses that communicatively connect the numerous internal devices of theelectronic system 1000. For instance, the bus 1005 communicativelyconnects the processing unit(s) 1010 with the read-only memory 1030, theGPU 1015, the system memory 1020, and the permanent storage device 1035.

From these various memory units, the processing unit(s) 1010 retrievesinstructions to execute and data to process in order to execute theprocesses of the invention. The processing unit(s) may be a singleprocessor or a multi-core processor in different embodiments. Someinstructions are passed to and executed by the GPU 1015. The GPU 1015can offload various computations or complement the image processingprovided by the processing unit(s) 1010.

The read-only-memory (ROM) 1030 stores static data and instructions thatare needed by the processing unit(s) 1010 and other modules of theelectronic system. The permanent storage device 1035, on the other hand,is a read-and-write memory device. This device is a non-volatile memoryunit that stores instructions and data even when the electronic system1000 is off. Some embodiments of the invention use a mass-storage device(such as a magnetic or optical disk and its corresponding disk drive,integrated flash memory) as the permanent storage device 1035.

Other embodiments use a removable storage device (such as a floppy disk,flash memory device, etc., and its corresponding drive) as the permanentstorage device. Like the permanent storage device 1035, the systemmemory 1020 is a read-and-write memory device. However, unlike storagedevice 1035, the system memory 1020 is a volatile read-and-write memory,such a random access memory. The system memory 1020 stores some of theinstructions and data that the processor needs at runtime. In someembodiments, the invention's processes are stored in the system memory1020, the permanent storage device 1035, and/or the read-only memory130. For example, the various memory units include instructions forprocessing multimedia clips in accordance with some embodiments. Fromthese various memory units, the processing unit(s) 1010 retrievesinstructions to execute and data to process in order to execute theprocesses of some embodiments.

The bus 1005 also connects to the input and output devices 1040 and1045. The input devices 1040 enable the user to communicate informationand select commands to the electronic system. The input devices 1040include alphanumeric keyboards and pointing devices (also called cursorcontrol devices (e.g., mice)), cameras (e.g., webcams), microphones orsimilar devices for receiving voice commands, etc. The output devices1045 display images generated by the electronic system or otherwiseoutput data. The output devices 1045 include printers and displaydevices, such as cathode ray tubes (CRT) or liquid crystal displays(LCD), as well as speakers or similar audio output devices. Someembodiments include devices such as a touchscreen that function as bothinput and output devices.

Finally, as shown in FIG. 10, bus 1005 also couples electronic system1000 to a network 1025 through a network adapter (not shown). In thismanner, the computer can be a part of a network of computers (such as alocal area network (“LAN”), a wide area network (“WAN”), or anIntranet), or a network of networks, such as the Internet. Any or allcomponents of electronic system 1000 may be used in conjunction with theinvention.

Some embodiments include electronic components, such as microprocessors,storage and memory that store computer program instructions in amachine-readable or computer-readable medium (alternatively referred toas computer-readable storage media, machine-readable media, ormachine-readable storage media). Some examples of such computer-readablemedia include RAM, ROM, read-only compact discs (CD-ROM), recordablecompact discs (CD-R), rewritable compact discs (CD-RW), read-onlydigital versatile discs (e.g., DVD-ROM, dual-layer DVD-ROM), a varietyof recordable/rewritable DVDs (e.g., DVD-RAM, DVD-RW, DVD+RW, etc.),flash memory (e.g., SD cards, mini-SD cards, micro-SD cards, etc.),magnetic and/or solid state hard drives, read-only and recordableBlu-Ray® discs, ultra density optical discs, any other optical ormagnetic media, and floppy disks. The computer-readable media may storea computer program that is executable by at least one processing unitand includes sets of instructions for performing various operations.Examples of computer programs or computer code include machine code,such as is produced by a compiler, and files including higher-level codethat are executed by a computer, an electronic component, or amicroprocessor using an interpreter.

While the above discussion primarily refers to microprocessor ormulti-core processors that execute software, some embodiments areperformed by one or more integrated circuits, such as applicationspecific integrated circuits (ASICs) or field programmable gate arrays(FPGAs). In some embodiments, such integrated circuits executeinstructions that are stored on the circuit itself. In addition, someembodiments execute software stored in programmable logic devices(PLDs), ROM, or RAM devices.

As used in this specification and any claims of this application, theterms “computer”, “server”, “processor”, and “memory” all refer toelectronic or other technological devices. These terms exclude people orgroups of people. For the purposes of the specification, the termsdisplay or displaying means displaying on an electronic device. As usedin this specification and any claims of this application, the terms“computer readable medium,” “computer readable media,” and “machinereadable medium” are entirely restricted to tangible, physical objectsthat store information in a form that is readable by a computer. Theseterms exclude any wireless signals, wired download signals, and anyother ephemeral signals.

While the invention has been described with reference to numerousspecific details, one of ordinary skill in the art will recognize thatthe invention can be embodied in other specific forms without departingfrom the spirit of the invention. For instance, a number of the figuresconceptually illustrate processes. The specific operations of theseprocesses may not be performed in the exact order shown and described.The specific operations may not be performed in one continuous series ofoperations, and different specific operations may be performed indifferent embodiments. Furthermore, the process could be implementedusing several sub-processes, or as part of a larger macro process.

1. (canceled)
 2. A method of providing a navigation presentation, themethod being implemented by a device navigating a route to adestination, the method comprising: providing a simplified navigationpresentation for navigating to the destination, the simplifiednavigation presentation being generated by removing at least onegeometry from a default navigation presentation for navigating to thedestination; identifying a point of interest in proximity to a maneuverjuncture along the route, based on a positional relationship between themaneuver juncture and the point of interest; displaying the point ofinterest in the simplified navigation presentation; and displaying amaneuver instruction with reference to the point of interest on thesimplified navigation presentation.
 3. The method of claim 2, furthercomprising displaying the maneuver instruction with reference to thepoint of interest based on the positional relationship, wherein when themaneuver juncture includes a right turn, the point of interest lies tothe right of the maneuver juncture, and wherein when the maneuverjuncture includes a left turn, the point of interest lies to the left ofthe maneuver juncture.
 4. The method of claim 2, further comprising:identifying the point of interest as a landmark; and highlighting thepoint of interest with respect to at least one other geometry beingdisplayed on the simplified navigation presentation.
 5. The method ofclaim 2, further comprising: identifying the point of interest as alandmark; determining that the point of interest is not in a positionalrelationship with the maneuver juncture; and removing the display of thepoint of interest from the simplified navigation presentation.
 6. Themethod of claim 2, further comprising: generating the default navigationpresentation using a first style sheet that includes the at least onegeometry; and generating the simplified navigation presentation using asecond style sheet that does not include the at least one geometry. 7.The method of claim 2, wherein identifying the point of interest furthercomprises: identifying at least one point of interest designationassociated with the point of interest; and identifying, based on pointof interest footprint data, a size of the point of interest.
 8. Themethod of claim 2, further comprising: providing the default navigationpresentation for navigating to the destination; identifying a point ofinterest in proximity to a maneuver juncture along the route, based on apositional relationship between the maneuver juncture and the point ofinterest; displaying the point of interest in the simplified navigationpresentation; and displaying a maneuver instruction with reference tothe point of interest on the simplified navigation presentation.
 9. Themethod of claim 2, further comprising: identifying the navigationcontext by comparing a current location of the device with a maneuverlocation for the maneuver juncture along the navigated route; anddisplaying the simplified navigation presentation by excluding the atleast one geometry based on the identified navigation context.
 10. Anon-transitory machine readable medium storing a program for providing anavigation presentation, the program being executed by a devicenavigating a route to a destination, the program comprising sets ofinstructions for: providing a simplified navigation presentation fornavigating to the destination, the simplified navigation presentationbeing generated by removing at least one geometry from a defaultnavigation presentation for navigating to the destination; identifying apoint of interest in proximity to a maneuver juncture along the route,based on a positional relationship between the maneuver juncture and thepoint of interest; displaying the point of interest in the simplifiednavigation presentation; and displaying a maneuver instruction withreference to the point of interest on the simplified navigationpresentation.
 11. The non-transitory machine readable medium of claim10, wherein the program further comprises sets of instructions fordisplaying the maneuver instruction with reference to the point ofinterest based on the positional relationship, wherein when the maneuverjuncture includes a right turn, the point of interest lies to the rightof the maneuver juncture, and wherein when the maneuver junctureincludes a left turn, the point of interest lies to the left of themaneuver juncture.
 12. The non-transitory machine readable medium ofclaim 10, wherein the program further comprises sets of instructionsfor: identifying the point of interest as a landmark; and highlightingthe point of interest with respect to at least one other geometry beingdisplayed on the simplified navigation presentation.
 13. Thenon-transitory machine readable medium of claim 10, wherein the programfurther comprises sets of instructions for: identifying the point ofinterest as a landmark; determining that the point of interest is not ina positional relationship with the maneuver juncture; and removing thedisplay of the point of interest from the simplified navigationpresentation.
 14. The non-transitory machine readable medium of claim10, wherein the program further comprises sets of instructions for:generating the default navigation presentation using a first style sheetthat includes the at least one geometry; and generating the simplifiednavigation presentation using a second style sheet that does not includethe at least one geometry.
 15. The non-transitory machine readablemedium of claim 10, wherein the instructions for identifying the pointof interest further comprise sets of instructions for: identifying pointof interest designations in the map data; and identifying, based onpoint of interest footprint data, a size of a point of interest.
 16. Thenon-transitory machine readable medium of claim 10, wherein the programfurther comprises sets of instructions for: providing the defaultnavigation presentation for navigating to the destination; identifying apoint of interest in proximity to a maneuver juncture along the route,based on a positional relationship between the maneuver juncture and thepoint of interest; displaying the point of interest in the simplifiednavigation presentation; and displaying a maneuver instruction withreference to the point of interest on the simplified navigationpresentation.
 17. The non-transitory machine readable medium of claim10, wherein the program further comprises sets of instructions for:identifying the navigation context by comparing a current location ofthe device with a maneuver location for the maneuver juncture along thenavigated route; and displaying the simplified navigation presentationby excluding the at least one geometry based on the identifiednavigation context.
 18. A mobile device comprising: a display; aprocessor; and a non-transitory computer readable medium storing amapping application program comprising instructions that are executableby the processor, the program comprising instructions for: providing asimplified navigation presentation for navigating to the destination,the simplified navigation presentation being generated by removing atleast one geometry from a default navigation presentation for navigatingto the destination; identifying a point of interest in proximity to amaneuver juncture along the route, based on a positional relationshipbetween the maneuver juncture and the point of interest; displaying thepoint of interest in the simplified navigation presentation; anddisplaying a maneuver instruction with reference to the point ofinterest on the simplified navigation presentation.
 19. The device ofclaim 18, wherein the program further comprises instructions fordisplaying the maneuver instruction with reference to the point ofinterest based on the positional relationship, wherein when the maneuverjuncture includes a right turn, the point of interest lies to the rightof the maneuver juncture, and wherein when the maneuver junctureincludes a left turn, the point of interest lies to the left of themaneuver juncture.
 20. The device of claim 18, wherein the programfurther comprises instructions for: providing the default navigationpresentation for navigating to the destination; identifying a point ofinterest in proximity to a maneuver juncture along the route, based on apositional relationship between the maneuver juncture and the point ofinterest; displaying the point of interest in the simplified navigationpresentation; and displaying a maneuver instruction with reference tothe point of interest on the simplified navigation presentation.
 21. Thedevice of claim 18, wherein the program further comprises instructionsfor: identifying the navigation context by comparing a current locationof the device with a maneuver location for the maneuver juncture alongthe navigated route; and displaying the simplified navigationpresentation by excluding the at least one geometry based on theidentified navigation context.